package com.tedu.API.list;

import org.junit.Test;

import java.util.LinkedList;
import java.util.Queue;

/**
 * Collection集合下   子集合【叫队列】   包位置：java.util
 * Queue     队列        单端队列
 * Deque     队列        双端队列    ”Deque接口--继承--Queue接口“
 * 作用：保存数据，有序存储和处理，功能：数据缓冲或者多线程协调工作！
 *
 * 队列实现类：
 * LinkedList：双向链表
 *
 */
public class QueueAPI {
    //Queue     队列        单端队列
    @Test
    public void testQueue(){
        //创建队列--多态--LinkedList
        Queue<String> queue=new LinkedList<>();
        /**
         * offer()   ---add()一样
         * 作用：入队操作，对尾追加元素
         */
        queue.offer("青花瓷");
        queue.offer("666");
        queue.offer("我的滑板鞋");
        queue.offer("苹果香");
        System.out.println("Queue队列"+queue);
        /**
         * poll()   返回值：E
         * 作用：出队操作，获取队首元素，并且删除队列中队首
         * peek()   返回值：E
         * 作用：出队操作，获取队首元素，不删除队列中队首
         */
        queue.poll(); queue.poll();    //删除队首元素
        System.out.println("Queue队列"+queue);
        String str=queue.peek();
        System.out.println("队首元素"+str);
        System.out.println("Queue队列"+queue);
    }
}













